Universidad de Chile
Facultad de Ciencias Físicas y Matemáticas
Departamento de Ingeniería Matemática

MA5402-1 Cálculo Estocástico
Profesor: Avelio Sepúlveda.
Auxiliares: Pablo Zúñiga, Vicente Maturana.
Alumno: Manuel Torres.

Tarea 1: Análisis Cualitativo del Movimiento Browniano

Movimiento Browniano Unidimensional

Trayectorias del Movimiento Browniano en $[0,1]$

En el intervalo $[0,1]$ definimos el conjunto $\mathcal{D}_{n}$ como el conjunto de los números diádicos de nivel $n$, dado por \begin{equation} \mathcal{D}_{n} = \left\{\frac{k}{2^{n}} : k=0,1,2,\dots,2^{n}-1,2^{n}\right\}, \end{equation} y el conjunto de los números diádicos en $[0,1]$ como \begin{equation} \mathcal{D} := \bigcup_{n\in\mathbb{N}}\mathcal{D}_{n}. \end{equation} Es fácil notar que $\overline{\mathcal{D}} = [0,1]$, gracias a este resultado de densidad estudiaremos numéricamente trayectorias del movimiento Browniano restringido a $[0,1]$, para ello comenzamos implementando un método para calcular $\mathcal{D}_{n}$, luego implementamos un segundo método que nos permita calcular simultáneamente varias trayectorias del movimiento Browniano sobre $\mathcal{D}_{n}$.

A continuación se presenta uan figura con $1024$ trayectorias del movimiento Browniano sobre $[0,1]$ aproximado con el décimo nivel diádico:

A continuación se presentan figuras en las que se compara el movimiento Browniano sobre distintos niveles diádicos (ver etiquetas):

Movimiento Browniano Unidimensional en $[0,N]$

Una primera idea para simular el movimiento Browniano en un intervalo de tiempo $[0,N]$ es definir el conjunto de los números diádicos de nivel $n$-ésimo sobre el intervalo $[0,N]$, este conjunto es dado por: \begin{equation} \mathcal{D}_{n}^{[0,N]} := \left\{t + \frac{k}{2^{n}} : t=0,\dots,N-1; k=1,\dots,2^{n} \right\}. \end{equation} Luego definido $\mathcal{D}_{n}^{[0,N]}$ es posible calcular el movimiento Browniano sobre este dominio, para ello basta con usar la siguiente implementación:

def DyadicOnInterval(N,n): Dyadic_Set = [] for i in range(N): for k in range(2**n): Dyadic_Set.append(i + k/2**n) Dyadic_Set.append(float(N)) return Dyadic_Set def BrownianMotion(N,x,n): Domain = DyadicOnInterval(N, n) Brownian_Motion = [] Previous = x for t in range(len(Domain)): B_t = np.random.normal(x, t) + Previous Brownian_Motion.append(B_t) Previous = Brownian_Motion[-1] return Brownian_Motion

Un problema que surge de la implementación anterior es que el tiempo de cálculo es excesivo, para solucionar esto calcularemos el movimiento Browniano en un intervalo de tiempo $[0,N]$ utilizando $N$ trayectorias calculadas en un intervalo $[0,1]$, utilizando $\mathcal{D}_{n}$ como dominio.

La siguiente figura del movimiento Browniano en el intervalo $[0,1024]$ con el décimo nivel diádico para la aproximación muestra una trayectoria "gruesa", sin embargo esto se explica debido a que hay del orden de $2^{10}$ puntos evaluados, al realizar zoom se esperaría observar una trayectoria local como la imagen anterior.

Movimiento Browniano Multidimensional

Visualización del Movimiento Browniano en el Espacio

Dos Dimensiones

Tres Dimensiones

Análisis Cualitativo del Movimiento Browniano (Pregunta 3)

A partir de lo observado en las simulaciones anteriores, se responden las siguientes preguntas de forma cualitativa:

  1. ¿Es el movimiento Browniano transiente o recurrente para $d=1,2,3$?
  2. Tomando un movimiento Browniano $(B_{t})_{t\in[0,1]}$. Se definen las funciones:
    • $\phi_{1}(t) = \sqrt{t}$.
    • $\phi_{2}(t) = \sqrt{t\log(1/t)}$.
    • $\phi_{3}(t) = \sqrt{t\log(\log(1/t))}$.
      ¿Para cual de ellas $\displaystyle\limsup_{t\to0}B_{t}/\phi_{i}(t) < \infty$?
  3. Para las simulaciones unidimensionales, cuente la cantidad de veces que la aproximación Browniana a nivel $n$ intersecta el origen. ¿Qué puede decir a medida que $n\to\infty$?
  4. Para una función $f$ Hölder (o derivable) su variación \begin{equation}
    V_{1}(f) := \lim_{n\to\infty} \sum_{t\in\mathcal{D}\setminus\{0\}} |f(t) - f(t-2^{n})| < \infty.
    
    \end{equation} ¿Es cierto para el movimiento Browniano 1-dimensional restringido a $[0,1]$? ¿Qué pasa con su variación cuadrática?
  5. Una función $C^{1}([0,1])$ con $f(0) = 0$ satisface que \begin{equation}
    f^{2}(t) = \int_{0}^{t} 2f(s)f'(s)ds = \lim_{n\to\infty} \sum_{s\in\mathcal{D}_{n}\cap[0,t)} 2f(t)\cdot \frac{f(t+2^{-n})-f(t)}{2^{-2n}} 2^{-2}?
    
    \end{equation}

1) Recurrencia o Transiencia del Movimiento Browniano

Para los casos de $d=1,2,3$ no se observa en las figuras de la secciones Movmimiento Browniano Unidimensional en $[0,N]$ ó Visualización del Movimiento Browniano en el Espacio que haya recurrencia en alguna clase de estados.

2) Análisis Asintótico

Aplicaremos versiones modificadas de los métodos de la sección Trayectorias del Movimiento Browniano en $[0,1]$ para estudiar las funciones \begin{equation} \frac{B_{t}}{\phi_{i}(t)} ,\quad i=1,2,3; \end{equation} antes definidas. Para el caso de $\phi_{1}(t)=\sqrt{t}$ se puede observar que no se asegura que el $\displaystyle\limsup_{t\to\infty}$ converge, pues no hay explosiones, una solución para confirmar esto puede ser simular sobre $\mathcal{D}_{n}^{[0,T]}$ y ver un intervalo de tiempo mayor.

Para el caso de $\phi_{2}(t) = \sqrt{t\log(1/t)}$:

Para el caso $\phi_{3}(t) = \sqrt{t\log(\log(1/t))}$:

En las figuras anteriores pareciera que cuando $t\to0$ el limite superior es finito.

3) Retorno al Estado Inicial en el Caso Unidimensional

Miramos algunas simulaciones del *Movimiento Browniano Unidimensional en $[0,N]$$:

Es posible notar que el proceso retorna al $0$ una cantidad no despreciable de veces, aunque a momentos existen rachas que evitan dicho retorno durante varias realizaciones de tiempo. Es esperable hipotetizar respecto a que se retornará al cero infinitas veces tomando un tiempo $N\to\infty$, es decir, se espera que sea cierto que \begin{equation} \mathbb{P}\left( (\forall t>0)(\exists h>0) : B_{t+h} = 0 \right) = 1 \end{equation}

Otros Resultados Indagatorios (Extra)

Tiempo de Simulación en Términos del Nivel Diádico

Calculamos el tiempo que demora una suma simple:

A continuación se calcula el tiempo de cálculo de una simulación del movimiento Browniano (dos trayectorias) en $[0,1]$ en función del orden del nivel diádico.

Vemos que el tiempo de cálculo aumenta exponencial en función del nivel diádico.

Varianza en Función del Tiempo

El movimiento Browniano es definido como un proceso $B:=(B_{t})_{t\geq 0}$, tal que $B_{t}\sim\mathcal{N}(0,\sigma_{t})$ para todo $t>0$. Se ha supuesto sin pérdida de generalidad que $\sigma_{t} = t$, sin embargo, a continuación visualizaremos qué ocurre cuando $\sigma_{t}$ actúa como función del tiempo con distintas naturalezas, en particular veremos qué ocurre para $(B_{t})_{t\in[0,1]}$ cuando:

  1. $\sigma_{t} = 1$ (varianza constante).
  2. $\sigma_{t} = t^{2}$ (varianza cuadrática).
  3. $\sigma_{t} = 2^{t}$ (varianza exponencial).